嗨大家好,我是Sean。結束了昨天的Celery & Redis,我們的系列也就進入了尾聲。
今天是鐵人賽的最後一天,想要來回顧一下我們的鐵人賽系列,以及說些心得結語。
首先我們由Django的架構講起,包含MVC的各自的作用以及他們網頁運行時,他們運作邏輯和順序。
接著我們開始依序介紹MTV各自的功能,並且穿插說明與MTV相關的功能。例如,我們說到model的後面一天,說明了migration的部分,以及與migration相關的關聯資料庫,以及如何設計資料庫的概念。
與View和Templates,之後是form以及admin page的基本操作及應用。
接下來,就是我們最重要的Django Rest Framework啦!
其實我們有很多的額外應用沒講到,但基本的核心概念可以在官網裡面在詳細查詢。
其中一個重點是serializer的應用,對DRF來說是很重要的一環!
DRF的目的就是寫出一個快速好用的RESTful api,所以我們寫了兩篇關於APIView的功能介紹以及用法。
我們的實戰篇第一主題是User的實戰練習,從註冊到登入登出,這三個api的作法以及使用方法。
再來,我們介紹了CRUD,也就是資料庫基本的新修刪查的四大操作。
我們也都分別寫出了後端的API示範。
接下來,我們寫了如何將專案部上GCP的三部曲。
分別有使用App Engine以及Cloud SQL來達成我們的目的。
再來,我個人認為migration的基本概念是初期最需要懂及熟悉的地方。
而這邊的細節或是操作,都有可能導致migration error的產生,而這個部分在初期建立django專案時,我也花了一些時間了解,所以對於我來說,認為介紹這樣的知識給django新手應該會很有幫助。
接著,我們也寫了有關如何將choice換成fk的文章。作為初期資料庫設計的經驗或是後果(?
也都讓我學到了一課,資料庫設計的重要或許從理論上來看,沒有這麼重要。
但實際上,在做api或是資料庫的處理時,都會發現盡量能在一開始用資料庫設計解決的問題就解決,後面的問題也不會到補不起來,但就是會需要花很多倍的心力以及時間來維護就是了!
最後,我們寫了關於docker的初步入門使用,以及如何使用列隊工具的Celery以及Redis的應用。
雖然不是那麼熟悉,但也希望透過這次機會能稍微認識這些應該要會的工具xDD
這段時間常常會在想自己還有哪裡不足的地方,想盡快補足。
軟體的世界真的像海賊王裡的世界一樣,無窮無盡,似乎沒有學完一天。
但就是像偉大航道一樣,其實有個雛形可以供人們追求或是來學習是很重要的!
不管是想參考各種各樣的Roadmap成為工程師,或是參考本鐵人賽系列學習Django的基礎xDD,都是一種比較具體的模板,能讓人預想想到達的地方,並且按照每個人的步調去實踐、去實現!
最後,想跟大家分享一些近期的心得。
有句話,近期很可以貼切的形容我最近的心境:
選擇往往比努力來的重要。
並不是說不需要努力,拼命去尋找更好的選擇。
而是在經過審慎的考慮,選擇拼命的尋求資源、選擇拼命的努力,它的價值才會大於努力。
過程中,我們時常無法確定甚麼選擇是對的,我們能做的只是盡力去評估並選擇,直到最後,我們才會知道其實根本也沒有對錯,終究只是我們的選擇罷了!
那麼,今天的文章就到此結束! 希望這個系列的文章有幫助到各位!傳承D的意志!
如果有甚麼問題跟建議,想問我都可以留言跟我說!
我是Sean,你各位海上的人,我們未來再見!